import {checkByUserName} from '@/api/admin/user'

var validateUsername = (rule, value, callback) => {
  if (window.boxType === 'edit') {
    callback()
    return;
  }
  checkByUserName(value)
    .then(resp => {
      if (resp.data.data > 0) {
        callback(new Error('用户名已经存在'))
      } else {
        callback()
      }
    })
}
export const tableOption = {
  border: true,
  index: true,
  indexLabel: '序号',
  stripe: true,
  menuAlign: 'center',
  searchMenuSpan:6,
  editBtn: false,
  delBtn: false,
  align: 'center',
  addBtn: false,
  column: [{
    fixed: true,
    label: '用户ID',
    prop: 'userId',
    span: 24,
    hide: true,
    editDisabled: true,
    addDisplay: false
  }, {
    fixed: true,
    label: '用户名',
    prop: 'username',
    editDisabled: true,
    slot: true,
    search: true,
    span: 24,
    rules: [
      {required: true, message: '请输入用户名'},
      {min: 3,max: 32,message: '长度在 3-32 个字符',trigger: 'blur'},
      {validator: validateUsername, trigger: 'blur'}
    ]
  },{
    label: '密码',
    prop: 'password',
    type: 'password',
    value: '',
    hide: true,
    span: 24,
    rules: [{
      required: false,
      min: 6,
      max: 32,
      message: '长度在 6-32 个字符',
      trigger: 'blur'
    }]
  }, {
    width: 130,
    label: '手机号',
    prop: 'phone',
    value: '',
    span: 24,
    rules: [{
      min: 11,
      max: 16,
      message: '长度在 11-16 个字符',
      trigger: 'blur'
    }]
  }, {
    width: 100,
    label: '部门',
    prop: 'deptId',
    formslot: true,
    slot: true,
    span: 24,
    hide: false,
    dataType:"number",
    rules: [{
      required: true,
      message: '请选择部门',
      trigger: 'change'
    }]
  }, {
    width: 100,
    label: '角色',
    prop: 'role',
    formslot: true,
    slot: true,
    overHidden: true,
    span: 24,
    rules: [{
      required: true,
      message: '请选择角色',
      trigger: 'blur'
    }]
  }, {
    width: 100,
    label: '岗位',
    prop: 'post',
    formslot: true,
    slot: true,
    overHidden: true,
    span: 24,
    rules: [{
      required: true,
      message: '请选择岗位',
      trigger: 'blur'
    }]
  },  {
    width: 80,
    label: '状态',
    prop: 'lockFlag',
    type: 'radio',
    slot: true,

    span: 24,
    rules: [{
      required: true,
      message: '请选择状态',
      trigger: 'blur'
    }],
    dicData: [{
      label: '有效',
      value: '0'
    }, {
      label: '锁定',
      value: '9'
    }]
  }, {
    label: 'MFA',
    prop: 'totp',
    width: 250,
    // editDisabled: true,
    formslot: true,
    addDisplay: false,
    span: 24,
    rules: [{
      required: false,
      min: 32,
      max: 32,
      message: '长度必须为32个字符数字组合',
      trigger: 'blur'
    }]
  }, {
    width: 160,
    label: 'TOKEN失效时间',
    prop: 'tokenExpireTime',
    type: 'datetime',
    format: 'yyyy-MM-dd HH:mm',
    valueFormat: 'yyyy-MM-dd HH:mm:ss',
    editDisabled: true,
    addDisplay: false,
    span: 24
  }, {
    width: 160,
    label: '创建时间',
    prop: 'createdTime',
    type: 'datetime',
    format: 'yyyy-MM-dd HH:mm',
    valueFormat: 'yyyy-MM-dd HH:mm:ss',
    editDisabled: true,
    addDisplay: false,
    span: 24
  }]
}
